home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 24 / Amiga Format AFCD24 (Feb 1998, Issue 108).iso / -in_the_mag- / emulation / amiga / uae-0.7.0b2 / src / include / blitter.h < prev    next >
C/C++ Source or Header  |  1998-01-20  |  1KB  |  49 lines

  1.  /*
  2.   * UAE - The Un*x Amiga Emulator
  3.   *
  4.   * Blitter emulation
  5.   *
  6.   * (c) 1995 Bernd Schmidt
  7.   */
  8.  
  9. #if 0
  10. struct bltinfo {
  11.     int blitzero;
  12.     int blitashift,blitbshift,blitdownashift,blitdownbshift;
  13.     uae_u32 bltadat, bltbdat, bltcdat,bltddat,bltahold,bltbhold,bltafwm,bltalwm;
  14.     int vblitsize,hblitsize;
  15.     int bltamod,bltbmod,bltcmod,bltdmod;
  16. };
  17. #else
  18. struct bltinfo {
  19.     int blitzero;
  20.     int blitashift,blitbshift,blitdownashift,blitdownbshift;
  21.     uae_u16 bltadat, bltbdat, bltcdat,bltddat,bltahold,bltbhold,bltafwm,bltalwm;
  22.     int vblitsize,hblitsize;
  23.     int bltamod,bltbmod,bltcmod,bltdmod;
  24. };
  25. #endif
  26. extern enum blitter_states {
  27.     BLT_done, BLT_init, BLT_read, BLT_work, BLT_write, BLT_next
  28. } bltstate;
  29.  
  30. extern struct bltinfo blt_info;
  31.  
  32. extern uae_u16 bltsize, oldvblts;
  33. extern uae_u16 bltcon0,bltcon1;
  34. extern int blinea_shift;
  35. extern uae_u32 bltapt,bltbpt,bltcpt,bltdpt;
  36.  
  37. extern void maybe_blit (void);
  38. extern void blitter_handler (void);
  39. extern void build_blitfilltable (void);
  40. extern void do_blitter (void);
  41. extern void blitter_done_notify (void);
  42. typedef void blitter_func(uae_u8 *, uae_u8 *, uae_u8 *, uae_u8 *, struct bltinfo *);
  43.  
  44. #define BLITTER_MAX_WORDS 2048
  45.  
  46. extern blitter_func *blitfunc_dofast[256];
  47. extern blitter_func *blitfunc_dofast_desc[256];
  48. extern uae_u32 blit_masktable[BLITTER_MAX_WORDS];
  49.